Using Static Keyword in JavaScript 您所在的位置:网站首页 JavaScript Static Properties and Methods Using Static Keyword in JavaScript

Using Static Keyword in JavaScript

2024-06-25 15:09| 来源: 网络整理| 查看: 265

This post, we will learn how the static keyword works in JavaScript. First, let's take a look at a simple JavaScript Class.

class Person { constructor(firstName, lastName) { this.firstName = firstName; this.lastName = lastName; }

greet() { console.log(`Hello, ${this.firstName} ${this.lastName}`); }}

const person = new Person('Cory', 'Rylan');person.greet(); // Hello, Cory Rylan

const person = new Person('John', 'Doe');person.greet(); // Hello, John Doe

With JavaScript Classes, we can add methods and properties that can be accessed per instance of the Class. This is standard behavior when you make multiple instances of a Class. If we create a method that does not access an instance property, we can use the static keyword.

class MathUtils { static add(num, num2) { return num + num2; }

static subtract(num, num2) { return num - num2; }}

// Static Methodsconsole.log(MathUtils.add(1, 2)); // 3

// Cannot access static values on instanceconst instance = new MathUtils();instance.add(); // error undefined

When creating a static method, it can only be accessed on the Class definition itself. If you try to access the method on an instance, it will fail. Static methods are useful for utility methods that do not contain any state. One could argue that if you have static methods, you could refactor them to be plain functions instead.

You can also use the static keyword on properties and getters.

class MathUtils { static value = '';}

// Static PropertiesMathUtils.value = 'Hello from static property';console.log(MathUtils.value);

When using static properties, you can access them and set them any time, but they exist only on the Class itself and are not accessible to any instance of the Class. Along with static properties, you can create static getters.

class MathUtils { static get random() { return Math.random(); }}

// Static Getterconsole.log(MathUtils.random, MathUtils.random); // two different values

Static getters allow you to compute values on the fly with a property. For this example, we return a new value anytime we access the random property. Check out the full working demo below!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有